#!/bin/bash

# VitePress 博客部署脚本 - 推送到 GitHub main 分支
echo "🚀 部署 VitePress 博客到 GitHub main 分支..."

# 检查是否在正确的目录
if [ ! -f "package.json" ]; then
    echo "❌ 错误：请在 VitePress 项目根目录运行此脚本"
    exit 1
fi

# 加载环境变量（如果存在 .env 文件）
if [ -f ".env" ]; then
    echo "📝 加载环境变量..."
    export $(cat .env | grep -v '^#' | grep -v '^$' | xargs)
fi

# 构建项目
echo "📦 构建项目..."
npm run build

# 检查构建输出
if [ ! -d "docs/.vitepress/dist" ]; then
    echo "❌ 构建失败，输出目录不存在"
    exit 1
fi

# 保存当前目录
PROJECT_DIR=$(pwd)

# 创建临时目录
TEMP_DIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'vitepress-deploy')
echo "📁 创建临时目录: $TEMP_DIR"

# 复制构建文件到临时目录
cp -r docs/.vitepress/dist/* "$TEMP_DIR/"

# 进入临时目录
cd "$TEMP_DIR"

# 初始化 Git 仓库
git init
git add .
git commit -m "Deploy VitePress site to main branch - $(date '+%Y-%m-%d %H:%M:%S')"

# 配置 Git 凭证助手（根据操作系统自动选择）
if [[ "$OSTYPE" == "darwin"* ]]; then
    # macOS
    git config credential.helper osxkeychain
elif [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
    # Windows (Git Bash)
    git config credential.helper manager-core
else
    # Linux
    git config credential.helper store
fi

# 添加 GitHub 远程仓库
git remote add origin https://github.com/WAQ12345/myBlog.git

# 推送到 main 分支
echo "🌐 推送到 GitHub main 分支..."
git push -f origin HEAD:main

# 返回项目目录
cd "$PROJECT_DIR"

# 清理临时目录
rm -rf "$TEMP_DIR"

echo "✅ 部署完成！"
echo "🌐 访问地址：https://waq12345.github.io/myBlog/"
echo "📝 源码地址：https://gitee.com/the-fields-are-dark/the-road-to-big-front-end/tree/master/VitePress"
